home *** CD-ROM | disk | FTP | other *** search
- vs.1.1
-
- ;dx9 stuff
- ;********
- dcl_position v0
- dcl_normal v3
- dcl_binormal v4
- dcl_tangent v5
- dcl_texcoord0 v7
-
- ;Constant map from the NSF.
- ;
- ;CM_Defined WorldViewProjTranspose 0 0
- ;CM_Constant const_1_1_1_255 4 1 1.0,1.0,1.0,765.01
- ;CM_Global DirLight1Direction 5 1
- ;CM_Global DaCameraPosition 6 1
- ;CM_Constant Half 7 1 0.5,0.5,0.5,0.5
- ;CM_Defined InvWorldTranspose 8 0
-
-
- m4x4 oPos, v0, c0
-
- ; Find light vector in object space
- mov r5, c5 ;Get the light direction in world space.
- m3x3 r4, r5, c8 ;Transform to object space with inverse world mat
-
- ; Normalize light vector.
-
- dp3 r3.x, r4, r4
- rsq r2.x, r3.x
- mul r0, r4.xyz, r2.xxx
-
- dp3 r7.x, r0, v5 ;Tangent
- dp3 r7.y, r0, v4 ;Binormal
- dp3 r7.z, r0, v3 ;Normal
-
- mad oD0.xyz, r7.xyz, c7, c7
-
- ;mad oT2.xyz, r7.xyz, c7, c7 ;Scale and bias since texcoord in the pixel shader
- ;expects a range of 0 to 1.
-
- m4x4 r1, v0, c16 ; to world
-
- add r5, -r1, c6
-
- dp3 r3.x, r5.xyz, r5.xyz
- rsq r3.xyz, r3.x
- mul r5.xyz, r5.xyz, r3.xxx
-
- add r2.xyz, r5.xyz, c5 ;L + V
-
- dp3 r4.x, r2.xyz, r2.xyz ;normalize inv view vec
- rsq r4.xyz, r4.x
- mul r2.xyz, r2.xyz, r4.xyz
-
- ;mov r4, r5
- m3x3 r4, r2, c8 ;Transform to object space with inverse world mat
-
- ; Normalize light vector.
- dp3 r3.x, r4.xyz, r4.xyz
- rsq r3.xyz, r3.x
- mul r4.xyz, r4.xyz, r3.xxx
-
- dp3 r7.x, r4, v5 ;Tangent
- dp3 r7.y, r4, v4 ;Binormal
- dp3 r7.z, r4, v3 ;Normal
- mad oD1.xyz, r7.xyz, c7, c7 ;Scale and bias since texcoord in the pixel shader
-
-
- ; Texture coordinates for the base map and normal map and gloss.
- mov oT0.xy, v7.xy
- mov oT1.xy, v7.xy
- mov oT2.xy, v7.xy
-
-
-
-
-
-